<template>
  <div class="venus-list-page">
    <!--产品信息调整查询界面-->
    <div class="page-search">
      <el-row type="flex" class="search-list">
        <el-row type="flex" class="list-items">
          <div class="venus-input-box">
            <label>理财产品</label>
            <el-select v-model="table.prodAdjust_table.prod_code" placeholder="请选择">
              <el-option
                v-for="(value) in dict.prod_code_dict"
                :key="value.prod_code"
                :label="value.prod_code + '-' + value.prod_name"
                :value="value.prod_code"
              />
            </el-select>
          </div>
        </el-row>
        <!--      </el-row>-->
        <!--      <el-row type="flex" justify="end">-->

      </el-row>
      <el-row type="flex" class="list-items" justify="space-content">
        <div class="venus-btn-box">
          <el-button type="primary" @click="search">查询</el-button>
        </div>
        <div class="venus-btn-box">
          <el-button type="primary" @click="reset">重置</el-button>
        </div>
      </el-row>
    </div>
    <!--    查询列表返显-->
    <div class="page-list">
      <table-pagination
        :table-data="table.prodAdjust_table.tableData"
        :table-header-config="table.tableHeaderConfig"
        highlight-current-row
        :total="table.prodAdjust_table.total"
        :page-size="table.prodAdjust_table.pageSize"
        :now-page="table.prodAdjust_table.nowPage"
        :operation-config="table.prodAdjust_table.operationConfig"
        :dict-data="dict"
      />
    </div>
    <!--产品信息调整弹出框-->
    <el-dialog :title="dlgTilte" :visible.sync="dlgFormVisible">
      <!-- ref=dlgForm用于验证表单 -->
      <el-form ref="dlgForm" :model="dlgForm">
        <el-row>
          <el-col :xs="24" :sm="12" :md="12">
            <!-- prop,:rules必须一起写 -->
            <el-form-item
              label="调整类型"
              :label-width="dlgFormLabelWidth"
              prop="adjust_type"
            >
              <el-select
                v-model="dlgForm.adjust_type"
                placeholder="请选择调整类型"
                filterable
                clearable
              >
                <el-option
                  v-for="item in dict.adjust_type_dict"
                  :key="item.value"
                  :label="item.text"
                  :value="item.value"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12">
            <el-form-item
              label="调整原因"
              :label-width="dlgFormLabelWidth"
              prop="adjust_cause"
            >
              <el-input v-model="dlgForm.adjust_cause" />
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer" style="text-align: center">
        <el-button type="success" @click="prodvolreviewedOk">确 定</el-button>
        <el-button type="info" plain @click="dlgFormVisible=false">取 消</el-button>
      </div>
    </el-dialog>
  </div>
</template>

<script>
  import * as kk from '../../../../../utils/k-utils'
  import request from '../../../../../utils/request'

  export default {
    name: 'ProdAdjustList',
    data() { // 数据定义
      return {
        /* 字典 */
        dict: {
          run_stat: {},
          prod_mod: {},
          prod_code_dict: [], // 调整类型 通过exeid拿到的是数组
        },
        queryForm: { // 查询表单参数
          prod_code: ''
        },
        // 表格
        table: {
          tableHeaderConfig: [ // 表头配置
            { prop: 'port_name', label: '所属投组' },
            { prop: 'prod_code', label: '产品代码' },
            { prop: 'prod_name', label: '产品名称' },
            { prop: 'prod_mod', label: '产品模式' },
            { prop: 'establish_date', label: '产品成立日' },
            { prop: 'end_date', label: '产品清盘日' },
            { prop: 'run_stat', label: '产品状态' }
          ],
          prodAdjust_table: { // 产品信息调整表
            limit: 5, // 分页配置
            total: 0, // 数据总条数
            nowPage: 1, // 当前页
            tableData: [], // 表格数据
            exeid: 'M81EEQ001', // exeid
            // 以下是查询参数
            prod_code: '',
            operationConfig: { // 表格操作配置
              fixed: 'right',
              width: 200,
              operationButton: [
                // value:操作文字； func:回调函数
                { value: '调整', func: this.prodvolreviewed },
                { value: '记录', func: this.prodvolDisable }
              ]
            }
          }
        },
        /* ===========新增，修改，详情=============== */
        dlgTilte: '标题',
        dlgFormVisible: false,
        dlgFormLabelWidth: '100px',
        dlgForm: {
          id: '', // 主键
          adjust_type: '', // 调整类型
          adjust_cause: '', // 调整原因
          prod_code: '', // 产品代码
          prod_name: '', // 产品名称
          run_stat: '', // 运行状态
          end_date: '', // 到期日
          open_end_date: '', // 开放结束日
          establish_date: '',
          mark: '',
          prod_mod: '' // 产品模式
        },
        dlgFormDisabled: false, // 是否禁用，新增、修改不禁用，详情禁用
        dlgOkHandler: '' // 自己定义调用那个函数
      }
    },
    mounted() {
      // 初始化调用
      this.init()
    },
    methods: {
      init: function() {
        kk.k_load_dict(this, 'prod_mod', 't8_prod_model')
        kk.k_load_dict(this, 'run_stat', 't8_prod_state')
        this.load_dict_exeid(this, 'prod', 'M81EEQ002', 'prod_code_dict')
        /* 加载表格数据 */
        this.table.prodAdjust_table.nowPage = 1 // 初始第一页
        kk.k_load_table(this, 'prodAdjust_table', 'prod')
      },
      /* 通过exeid加载字典 */
      load_dict_exeid(this_object, service_name, exeid, dict) {
        request({
          loading: true,
          url: service_name + '/base/comn-query.json?exeid=' + exeid,
          method: 'post'
        }).then(rep => {
          this_object['dict'][dict] = rep.rows
        })
      },
      search() { // 查询函数
        this.table.prodAdjust_table.nowPage = 1 // 初始第一页
        kk.k_load_table(this, 'prodAdjust_table', 'prod')
      },
      reset() { // 重置函数
        this.table.prodAdjust_table.prod_code = ''
      },
      add() { // 新增函数

      },
      prodvolreviewed() { // 审核函数
        this.dlgTilte = '调整'
        this.dlgFormDisabled = false // 是否禁用输入框
        this.dlgOkHandler = 'prodvolreviewedOk' // 自己定义调用那个函数
        // 清空数据
        this.copyObj({
          id: '', // 主键
          adjust_type: '', // 调整类型
          adjust_cause: '', // 调整原因
          prod_code: '', // 产品代码
          prod_name: '', // 产品名称
          run_stat: '', // 运行状态
          end_date: '', // 到期日
          open_end_date: '', // 开放结束日
          establish_date: '',
          mark: '',
          prod_mod: '' // 产品模式
        }, this.dlgForm)
        this.$nextTick(() => {
          // this.$refs.dlgForm.resetField() // 这个在第一次点击新增的时候报错，点击修改在点击新增就不报错
          // 点击修改在点击新增，去掉校验提示
          this.$refs.dlgForm.clearValidate() // 必须写在$nextTick里面
        })
        // 隐藏个别属性
        this.dlgFormVisible = true
      },
      /*
       * 将obj1对象的数据拷贝到obj对象
       */
      copyObj(obj1, obj2) {
        for (var key in obj1) {
          if (key === '__proto__') {
            continue
          }
          obj2[key] = obj1[key]
        }
      },
      prodvolreviewedOk(formData) { // 输入调整信息后跳转函数
        console.log('prodvolreviewed', formData)
      },
      prodvolDisable() { // 修改函数

      },
      prodVolrevoke() { // 撤销函数

      },
      prodVolDetailHander() { // 详情函数

      }

    }
  }
</script>

<style scoped>
</style>
